a11y: Add _gtk_tree_view_accessible_add_state()
authorBenjamin Otte <otte@redhat.com>
Mon, 12 Dec 2011 09:25:27 +0000 (10:25 +0100)
committerBenjamin Otte <otte@redhat.com>
Fri, 16 Dec 2011 03:53:13 +0000 (04:53 +0100)
... and _gtk_tree_view_accessible_remove_state(). They should be called
by gtktreeview.c to notify about changes of state for a row.

gtk/a11y/gtktreeviewaccessible.c
gtk/a11y/gtktreeviewaccessible.h

index f959392ecd62b1c405c846da3072cef94a0821f0..77c3114b5fdf077c5e4513c6f6aecfc5532085f5 100644 (file)
@@ -3084,3 +3084,61 @@ _gtk_tree_view_accessible_toggle_visibility (GtkTreeView       *treeview,
                                                 column,
                                                 id);
 }
+
+void
+_gtk_tree_view_accessible_add_state (GtkTreeView          *treeview,
+                                     GtkRBTree            *tree,
+                                     GtkRBNode            *node,
+                                     GtkCellRendererState  state)
+{
+  GtkTreeViewAccessible *accessible;
+  AtkObject *obj;
+  guint i;
+
+  obj = _gtk_widget_peek_accessible (GTK_WIDGET (treeview));
+  if (obj == NULL)
+    return;
+
+  accessible = GTK_TREE_VIEW_ACCESSIBLE (obj);
+
+  for (i = 0; i < gtk_tree_view_get_n_columns (treeview); i++)
+    {
+      GtkCellAccessible *cell = peek_cell (accessible,
+                                           tree, node,
+                                           gtk_tree_view_get_column (treeview, i));
+
+      if (cell == NULL)
+        continue;
+
+      _gtk_cell_accessible_state_changed (cell, state, 0);
+    }
+}
+
+void
+_gtk_tree_view_accessible_remove_state (GtkTreeView          *treeview,
+                                        GtkRBTree            *tree,
+                                        GtkRBNode            *node,
+                                        GtkCellRendererState  state)
+{
+  GtkTreeViewAccessible *accessible;
+  AtkObject *obj;
+  guint i;
+
+  obj = _gtk_widget_peek_accessible (GTK_WIDGET (treeview));
+  if (obj == NULL)
+    return;
+
+  accessible = GTK_TREE_VIEW_ACCESSIBLE (obj);
+
+  for (i = 0; i < gtk_tree_view_get_n_columns (treeview); i++)
+    {
+      GtkCellAccessible *cell = peek_cell (accessible,
+                                           tree, node,
+                                           gtk_tree_view_get_column (treeview, i));
+
+      if (cell == NULL)
+        continue;
+
+      _gtk_cell_accessible_state_changed (cell, 0, state);
+    }
+}
index 0246ba997544936331c2b567f006783559a36dd4..27d97434f043402f9507a387936741c3254a0ffd 100644 (file)
@@ -72,6 +72,15 @@ void            _gtk_tree_view_accessible_toggle_visibility
                                                         (GtkTreeView       *treeview,
                                                          GtkTreeViewColumn *column);
 
+void            _gtk_tree_view_accessible_add_state     (GtkTreeView       *treeview,
+                                                         GtkRBTree         *tree,
+                                                         GtkRBNode         *node,
+                                                         GtkCellRendererState state);
+void            _gtk_tree_view_accessible_remove_state  (GtkTreeView       *treeview,
+                                                         GtkRBTree         *tree,
+                                                         GtkRBNode         *node,
+                                                         GtkCellRendererState state);
+
 G_END_DECLS
 
 #endif /* __GTK_TREE_VIEW_ACCESSIBLE_H__ */